步骤 6:添加对测试仪表板的支持

添加对将我们的测试结果提交到仪表板的支持非常简单。我们已经在测试支持中为我们的项目定义了许多测试。现在我们只需要运行这些测试并将它们提交到 CDash。

练习 1 - 将结果发送到测试仪表板

目标

使用 CDash 显示我们的 CTest 结果。

有用的资源

要编辑的文件

  • CMakeLists.txt

开始

在本练习中,通过包含 CTest 模块,完成顶层 CMakeLists.txt 中的 TODO 1。这将启用使用 CTest 进行测试以及向 CDash 提交仪表板,因此我们可以安全地删除对 enable_testing() 的调用。

我们还需要获取一个 CTestConfig.cmake 文件,该文件将放置在顶层目录中。运行时,ctest 可执行文件将读取此文件以收集有关测试仪表板的信息。它包含

  • 项目名称

  • 项目 “Nightly” 开始时间

    • 此项目 24 小时“日”开始的时间。

  • CDash 实例的 URL,提交生成的文档将发送到该实例

在本教程中,使用公共仪表板服务器,并且在本步骤的根目录中为您提供了其对应的 CTestConfig.cmake 文件。在实践中,此文件将从 CDash 实例上项目的 Settings 页面下载,该实例旨在托管测试结果。从 CDash 下载后,不应在本地修改该文件。

CTestConfig.cmake
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)

构建和运行

请注意,作为 CDash 提交的一部分,有关您的开发系统的一些信息(例如站点名称或完整路径名)可能会公开显示。

要创建一个简单的测试仪表板,请运行 cmake 可执行文件或 cmake-gui 来配置项目,但暂不构建。相反,导航到构建目录并运行

ctest [-VV] -D Experimental

请记住,对于多配置生成器(例如 Visual Studio),必须指定配置类型

ctest [-VV] -C Debug -D Experimental

或者,从 IDE 中,构建 Experimental 目标。

ctest 可执行文件将构建项目,运行任何测试,并将结果提交到 Kitware 的公共仪表板:https://my.cdash.org/index.php?project=CMakeTutorial

解决方案

在此步骤中,唯一需要更改的 CMake 代码是通过在我们的顶层 CMakeLists.txt 中包含 CTest 模块来启用向 CDash 提交仪表板

TODO 1:点击显示/隐藏答案
TODO 1: CMakeLists.txt
include(CTest)